/*
/*
 * Creator:     ML
 * CreatDate:   2020/03/06
 * descripts：患者就诊记录查询医嘱信息
 * */
import React from 'react';
import { Form, Row, Col, Input, Select, Button, Table, Icon, Pagination, message, Divider, Drawer, Steps, Popconfirm, Modal } from 'antd';
import { Util, } from 'tools/index';
import { $http } from 'containers/config/https';
import { LoginOutlined, } from '@ant-design/icons'
import store from 'store';
import ColumnAuthoritysModel from 'pages/columnAuthority/ColumnAuthoritysModel';
import CommonPagination from 'components/pagination/index';
import CardTypeRead from 'components/cardType/index';
import RangeDatePicker from 'components/rangePicker/index';
import SendExpress from './component/SendExpress';
import ExpressDeatil from './component/ExpressDeatil';

const FormItem = Form.Item;
const Option = Select.Option;
const { Step } = Steps;
const marginRight = {
    marginRight: "38px"
}
const formItemLayout = { // label 和input宽度
    labelCol: { span: 6 },
    wrapperCol: { span: 18 },
}

const formItemLayoutInfo = {
    labelCol: { span: 5 },
    wrapperCol: { span: 19 },
}
const formItemLayoutRec = {
    labelCol: { span: 7 },
    wrapperCol: { span: 17 },
}
const PatientRecordInformationQuery = Form.create()(
    class PatientRecordInformationQuery extends React.Component {
        constructor(props) {
            super(props)
            var userData = JSON.parse(sessionStorage.getItem('userData'))
            this.state = {
                userData: userData,
                loading: false,
                visible: false,
                checkedAll:true,
                total: 0,//表格总数据
                infoData: [],//查询出来的数据
                values: {},//查询条件数据
                searchLoading: false,//查询请求
                rowIds: '',//表格行选中 页面数据
                columns: [],//查询表头
                widthTotal: 0,//
                size: "small",
                n: 6,
                m: 13,
                startDate: undefined,  // //开始日期
                endDate: undefined,  // //结束日期
                visibleDetail: false
            }
        }
        componentDidMount() {
            // 初始化设置table的高度以及表体的高度
            if (document.querySelector('.patientRecordDom .ant-table-body')) {
                document.querySelector('.patientRecordDom .ant-table-body').style.height = store.getState().tableHeight.y + 86 + 'px';
                document.querySelector('.patientRecordDom .ant-table-body').style.maxHeight = store.getState().tableHeight.y + 86 + 'px';
            }
            this.getMainTableColumns()
            if (this.state.size == "small") {
                this.setState({
                    pageSize: 10
                })
            } else {
                this.setState({
                    pageSize: 50
                })
            }
        }
        onColumnRef = (ref) => {
            this.columnRef = ref;
        }
        onRef = (ref) => {
            this.expressRef = ref
        }
        onRefs = (ref) => {
            this.onDeatilRefs = ref
        }
        // 获取主列表columns
        getMainTableColumns = () => {
            let data = {
                params: [{
                    compontName: "PatientRecordInformation",
                    reactCode: ['PatientRecordInformation'],
                    type: 'C',
                }]
            }
            $http.post('urlS', this, {
                code: '01040073',
                data: data,
                success: function (res) {
                    if (+res.errorCode === 0) {
                        let arr = res.result && res.result.C.length > 0 ? JSON.parse(JSON.stringify(res.result.C)).map(item => {
                            return {
                                align: item.align,
                                widthNum: parseInt(item.width),
                                width: item.width,
                                dataIndex: item.dataIndex,
                                title: <div onDoubleClick={() => this.columnRef.onOpenModel()}>{this.state.userData.language == 'EN' ? item.descripts : item.title}</div>,
                                display: item.display,
                                key: item.seqNo,
                                render: (text, record) => {
                                    // expMessage
                                    if (item.code == "expMessage") {
                                        return (
                                            <span style={{ cursor: "pointer" }} onClick={(e) => this.handleOpenExpDetail(e, record)}><span style={{ color: "#096dd9" }}>{record.expMessage}</span></span>
                                        )
                                    }
                                    return text
                                }
                            }
                        }) : '';
                        let filterArr = arr.filter(function (item) { return item.display === 'Y' });
                        let seqArr = {
                            align: "center",
                            widthNum: 240,
                            width: "240px",
                            code: "edit",
                            dataIndex: "edit",
                            title: this.state.localeProvider && this.state.localeProvider.PatientRecordInformationPersonIdentificationOperating ? this.setMessage('PatientRecordInformationPersonIdentificationOperating', 'descripts') : '操作',
                            display: "Y",
                            render: (value, row, index) => {
                                return (
                                    <span>
                                        <Button type="primary"
                                            disabled={!row.orderID}
                                            // row? "rgba(0, 0, 0, 0.25)" :
                                            style={{ border: "0", background: "0", boxShadow: "0 0 0", color: (!row.orderID ? "rgba(0, 0, 0, 0.25)" : "#1890ff") }}
                                            onClick={(e) => this.handleOpenExpMesage(e, row)}>{this.state.localeProvider && this.state.localeProvider.PatientRecordInformationPersonIdentificationViewLogistics ? this.setMessage('PatientRecordInformationPersonIdentificationViewLogistics', 'descripts') : '查看物流'}</Button>
                                        <Divider type="vertical" />
                                        <Popconfirm disabled={!row.orderID} title={this.state.localeProvider && this.state.localeProvider.PatientRecordInformationPersonIdentificationAreYouSure ? this.setMessage('PatientRecordInformationPersonIdentificationAreYouSure', 'descripts') : '是否确定取消订单'} onConfirm={(e) => this.handlecancelExporder(e, row)}>
                                            <Button
                                                disabled={!row.orderID}
                                                style={{ border: "0", background: "0", boxShadow: "0 0 0", color: (!row.orderID ? "rgba(0, 0, 0, 0.25)" : "#1890ff") }}
                                                type="primary" >{this.state.localeProvider && this.state.localeProvider.PatientRecordInformationPersonIdentificationCancelOrder ? this.setMessage('PatientRecordInformationPersonIdentificationCancelOrder', 'descripts') : '取消订单'}</Button>
                                        </Popconfirm>
                                    </span>
                                )
                            },
                        }
                        filterArr.push(seqArr)
                        this.setState({ localeProvider: this.state.userData.language == 'EN' ? res.result.language.EN : res.result.language.CN, columns: filterArr, widthTotal: res.totalWidth })
                    }
                }
            })
        }
        //开始日期
        startChange(date) {
            this.setState({
                startDate: date,
            })
        }
        //结束日期
        endChange(date) {
            this.setState({
                endDate: date,
            })
        }
        //接收卡号卡类型
        getValue = (cardType, patCardNo) => {
            this.setState({
                cardType,
                patCardNo,
            })
        }
        //回车检索病人信息
        getPersonInfo = () => {
            const { cardType, patCardNo } = this.state
            let data = {
                params: [{
                    number: this.props.form.getFieldValue('number'),
                    cardTypeID: cardType,
                    cardNo: patCardNo,
                    hospID: sessionStorage.userData ? JSON.parse(sessionStorage.userData).hospID : "",//医院Id
                    dateFrom: this.state.startDate,
                    dateTo: this.state.endDate,
                    language: this.state.userData.language,
                }]
            }
            $http.post('urlS', this, {
                code: '03030031',
                data: data,
                success: function (res) {
                    if (+res.errorCode === 0 && res.result.patient) {
                        let titleData = res.result.patient
                        titleData["patAreaID"] = String(res.result.patient.patAreaID)
                        this.setState({
                            titleData,
                            recordArr: res.result.admInfo,
                            infoData: [],
                            selectedRows: [],
                            selectedRowKeys: []
                        })
                        this.props.form.setFieldsValue({ admID: undefined })
                    } else {
                        message.warning("未查询到病人信息")
                        this.setState({
                            titleData: {}
                        })
                    }
                }
            })
        }
        // 修改page和pageSize 跳转至---
        onChange = (e) => {
            this.setState({ page: e, pageSize: this.state.pageSize }, () => {
                // 重新调用查询方法
                let { values } = this.state;
                this.getFindDate(values);
            })
        }
        //下拉选择页数
        onShowSizeChange = (page, pageSize) => {
            this.setState({ page: 1, pageSize: pageSize }, () => {
                // 重新调用查询方法
                let { values } = this.state;
                this.getFindDate(values, "search");
            })
        }
        // 显示分页总条数
        showTotal(total) {
            return `共 ${total} 条`;
        }
        //获取查询数据
        getFindDate = (values, e) => {
            if (this.state.total == 0) {
                this.setState({
                    searchLoading: true
                })
            }
            let { page, pageSize, } = this.state;
            let data = {}
            data = {
                params: [{
                    userID: sessionStorage.userData ? JSON.parse(sessionStorage.userData).userID : "",//userId
                    hospID: sessionStorage.userData ? JSON.parse(sessionStorage.userData).hospID : "",//医院Id
                    admID: values && values.admID || "",//就诊记录Id
                    // admID:"275",
                    language: this.state.userData.language,
                }],
                // pagination: [{
                //     pageSize: pageSize,
                //     currentPage: page,
                // }]
            }
            $http.post('urlS', this, {
                code: '03030032',
                data: data,
                success: function (res) {
                    if (+res.errorCode === 0 && res.result) {
                        this.setState({
                            searchLoading: false,
                            rowId: "",
                            search: e,
                            infoData: res.result,
                        })
                    } else {
                        this.setState({
                            searchLoading: false
                        })
                    }
                },
                error: function () {
                    this.setState({
                        searchLoading: false
                    })
                }
            })
        }
        //查询医嘱信息表格---
        handleTableInfo = () => {
            if (!this.props.form.getFieldValue('admID')) {
                message.warning("请选择就诊记录")
            }
            this.props.form.validateFields((err, values) => {
                if (!err) {
                    this.setState({
                        values: values,
                        rowIds: "",
                        selectedRows: [],
                        selectedRowKeys: [],
                        checkedAll:true,
                    })
                    this.setState({ page: 1, pageSize: this.state.pageSize }, () => {
                        let { values } = this.state;
                        this.onShowSizeChange("1", this.state.pageSize)
                    })
                }
            })
        }
        //获取就诊记录
        getRecordData = (id) => {
            let data = {}
            data = {
                params: [{
                    patID: id || "",
                }],
            }
            $http.post('urlS', this, {
                code: '01040168',
                data: data,
                success: function (res) {
                    if (+res.errorCode === 0) {
                        this.setState({
                            recordArr: res.result.dataPatient,
                        })
                    }
                }
            })
        }
        handleOk = (e) => {
            this.setState({ loading: true });
            setTimeout(() => {
                this.setState({ loading: false, });
            }, 3000);
        }

        //点击查询后 表格行
        setRowClassNames = (record) => {
            //   return record.id === this.state.rowIds ? 'clickRowStyle' : '';
        }
        //点击Row
        onClickRow = (record) => {
            return {
                onClick: () => {
                    this.setState({
                        parms: record,
                    })
                    if (this.state.rowIds === "") {
                        this.setState({
                            rowIds: record.id,
                        });
                    } else {
                        if (this.state.rowIds !== record.id) {
                            this.setState({
                                rowIds: record.id,
                            });
                        } else {
                            this.setState({
                                rowIds: "",
                            });
                        }
                    }
                },
            };
        }
        //国际化
        setMessage(name, message) {
            return this.state.localeProvider ? this.state.localeProvider[name][message] : ''
        }
        //寄快递
        handleSendExpress = () => {
            // console.log("selectedData", this.state.selectedData)
            this.expressRef.showModal()
        }
        //查看快递详情
        handleOpenExpDetail = (e, record) => {
            //   console.log("this.onDeatilRefs",this.onDeatilRefs)
            let data = {}
            data = {
                params: [{
                    orderID: record.orderID,
                }],
            }
            $http.post('urlS', this, {
                code: '03030040',
                data: data,
                success: function (res) {
                    if (+res.errorCode === 0) {
                        this.onDeatilRefs.showModal(res.result)
                    }
                }
            })
        }
        handleOkDetail = () => {
            this.setState({
                visibleDetail: false
            })
        }
        //打开物流详情
        handleOpenExpMesage = (e, record) => {
            let data = {}
            data = {
                params: [{
                    orderID: record.orderID || "",
                }],
            }
            $http.post('urlS', this, {
                code: '03030036',
                data: data,
                success: function (res) {
                    if (+res.errorCode === 0) {
                        if (!res.result[0]) {
                            message.warning(this.state.localeProvider && this.state.localeProvider.PatientRecordInformationNoLogisticsInformation ? this.setMessage('PatientRecordInformationNoLogisticsInformation', 'descripts') : "暂无物流信息")
                        }
                        this.setState({
                            visible: true,
                            expressNo: res.result[0].expressNo,
                            expressList: res.result[0].routeData,
                        }, () => {
                            setTimeout(() => {
                                if (document.querySelector('.ant-drawer-body')) {
                                    document.querySelector('.ant-drawer-body').style.height = store.getState().tableHeight.y + 284 + 'px';
                                    document.querySelector('.ant-drawer-body').style.overflow = "auto";
                                }
                            }, 0)
                        })
                    }
                }
            })
        }
        //取消订单
        handlecancelExporder = (e, record) => {
            let data = {}
            data = {
                params: [{
                    orderID: record.orderID || "",
                }],
            }
            $http.post('urlS', this, {
                code: '03030037',
                data: data,
                success: function (res) {
                    if (+res.errorCode === 0) {
                        message.success(this.state.localeProvider && this.state.localeProvider.PatientRecordInformationOrderCancelledSuccessfully ? this.setMessage('PatientRecordInformationOrderCancelledSuccessfully', 'descripts') : "成功取消订单")
                        this.handleTableInfo()
                    }
                }
            })
        }
        //关闭物流信息窗口
        onClose = () => {
            this.setState({
                visible: false
            })
        }
        //设置选中--满足寄快递入参
        handleSetPreOtherArr = (selectedRows) => {
            let presc = []//西药处方号
            let cmpresc = []//草药处方号
            let specNos = []//标本号
            let checkNos = []//检查申请单
            selectedRows.map((item, i) => {
                //prescNo西药 cmpresc草药  处方号appNo检查申请单号 specNo标本
                if (item.prescNo && item.prescNo && item.prescNo.length > 0) {
                    presc.push(item.prescNo)
                } if (item.cmpresc && item.cmpresc && item.cmpresc.length > 0) {
                    cmpresc.push(item.cmpresc)
                } if (item.specNo && item.specNo && item.specNo.length > 0) {
                    specNos.push(item.specNo)
                } if (item.appNo && item.appNo && item.appNo.length > 0) {
                    checkNos.push(item.appNo)
                }
            })
            let newPresc = [...new Set(presc)]
            let newCmpresc = [...new Set(cmpresc)]
            let newSpecNosc = [...new Set(specNos)]
            let newCheckNos = [...new Set(checkNos)]
            this.setState({ newPresc, newCmpresc, newSpecNosc, newCheckNos, selectedRows, });
        }
        //获取最新的选中数据
        handerUpdataSelectData=(newkeys)=>{
            const {infoData} =this.state
            let newArr = []
            infoData.map((item,i)=>{
                newkeys.map((items,index)=>{
                    if(item.id==items){
                        newArr.push(item)
                    }
                })
            })
            this.handleSetPreOtherArr(newArr)
        }
        render() {
            const { getFieldDecorator } = this.props.form;
            const { searchLoading, widthTotal, columns, recordArr, selectedRowKeys, expressList, expressNo, infoData } = this.state;
            //就诊记录
            let recordOp = []
            recordArr && recordArr.map(item => {
                recordOp.push(<Option title={item.locDesc + " " + item.doctorName + " " + item.admDate} key={item.admID} value={item.admID}>{item.locDesc + " " + item.doctorName + " " + item.admDate}</Option>)
            })
            //物流详情
            let expressListOp = []
            expressList && expressList.map(item => {
                expressListOp.push(<Step title={item.acceptAddress + "" + item.remark} description={item.acceptTime} />)
            })
            let searchColConfig = {
                xs: { span: 24 },
                sm: { span: 12 },
                md: { span: 10 },
                lg: { span: 6 }
            }
            const rowSelection = {
                selectedRowKeys,
                onChange: (selectedRowKeys, selectedRows) => {
                    this.setState({
                        selectedRows,
                    })
                },
                getCheckboxProps: record => ({
                    disabled: record.flag === '' || !record.flag || record.orderID, // Column configuration not to be checked
                }),
                onSelect: (record, selected, selectedRows) => {
                    let arr = this.state.selectedRowKeys
                    if (selected) {
                        infoData.map((item, i) => {
                            if (record.prescNo == item.prescNo) {
                                arr.push(item.id)
                                this.setState({
                                    selectedRowKeys: arr
                                })
                            }
                        })
                        this.handerUpdataSelectData(selectedRowKeys)
                    } else {
                        let newArr = []
                        let newKey = []
                        let newKeys = this.state.selectedRowKeys
                        //取消选择的itms
                        newArr = infoData.filter((item) => item.prescNo == record.prescNo)
                        newArr.map((items, index) => {
                            newKey.push(items.id)
                        })
                        //去除相同的 已勾选
                        for (var i = 0; i < newKeys.length; i++) {
                            for (var j = 0; j < newKey.length; j++) {
                                if (newKeys[i] == newKey[j]) {
                                    newKeys.splice(i, 1);
                                    i--;
                                }
                            }
                        }
                        let newKeysSelect = [...new Set(newKeys)]
                        this.setState({
                            selectedRowKeys: newKeysSelect
                        })
                        this.handerUpdataSelectData(selectedRowKeys)
                    }
                },
                onSelectAll: (selected, selectedRows, changeRows) => {
                    this.setState({checkedAll: !this.state.checkedAll})
                    if (selected&&this.state.checkedAll) {
                        let arr = []
                        let newArr = []
                        this.state.infoData.map((arrItem,index)=>{
                            if(arrItem.flag == ""|| !arrItem.flag || arrItem.orderID){
                            }else{
                                newArr.push(arrItem)
                            }
                        })
                        newArr.map((item, i) => {
                                arr.push(item.id)
                                this.setState({
                                    selectedRowKeys: arr
                                })
                        })
                        let newKeysSelect = [...new Set(arr)]
                        this.handerUpdataSelectData(newKeysSelect)
                    } 
                    else {
                        this.setState({
                            selectedRowKeys:[]
                        })
                    }
                   
                },
                onSelectInvert:(selectedRows)=>{
                    this.setState({
                                selectedRowKeys:[]
                            })
                }
            };
            return (
                <div style={{ padding: '4px 2px' }} className="patientRecordDom">
                    <Form>
                        <Row>
                            <Col span={6}>
                                <div style={{ width: '100%', borderRight: '1px solid #EEEEEE', height: 79, display: 'flex', float: 'left' }}>
                                    <div className={this.state.titleData && this.state.titleData.patSexCode == '1' ?
                                        'splice-boy' : (this.state.titleData && this.state.titleData.patSexCode == '2' ? 'splice-girl' : 'splice-other')}></div>
                                    <div style={{ height: 79, borderRight: '1px solid #EEEEEE' }}></div>
                                    {!Util.isEmpty(this.state.titleData) ? <div style={{ fontSize: '16px' }}>
                                        {/* <div style={{ padding: '10px 0 0 20px' }}></div> */}
                                        <div style={{ padding: '10px 0 0 20px' }}>
                                            <span style={{ color: '#333333', fontWeight: 'bold', cursor: 'pointer' }}>
                                                {this.state.titleData ? this.state.titleData.patName || '--' : '--'}</span><Divider type="vertical" />
                                            <span>{this.state.titleData ? this.state.titleData.patSexDesc || '--' : '--'}</span><Divider type="vertical" />
                                            <span>{this.state.titleData ? this.state.titleData.patAge || '--' : '--'}</span><Divider type="vertical" />
                                            <span><Icon className='patNo-splice' />{this.state.titleData ? this.state.titleData.patNo || '--' : '--'}</span>
                                        </div>
                                        <div style={{ fontWeight: 400, color: '#666666', fontSize: '16px', padding: '10px 0 0 20px' }}>
                                            <span><Icon className='statusdesc-splice' />{this.state.titleData ? this.state.titleData.patSocialStatusDesc || '--' : '--'}</span><Divider type="vertical" />
                                            <span><Icon className='typeDesc-splice' />{this.state.titleData ? this.state.titleData.patTypeDesc || '--' : '--'}</span><Divider type="vertical" />
                                            <span>{/**{this.setMessage('DoctorAdviceModalAccount', 'descripts')} */}
                                                <span style={{ color: '#1999db' }}><Icon className='account-splice' />{this.state.titleData ? this.state.titleData.accountBalance || '--' : 0}</span> </span>
                                        </div>
                                    </div> : <span style={{ color: '#999999', lineHeight: '79px', marginLeft: '20%' }}>{this.state.localeProvider && this.state.localeProvider.PatientRecordInformationPleaseEnterTips ? this.setMessage('PatientRecordInformationPleaseEnterTips', 'descripts') : '请在右侧回车检索病人信息'}</span>}
                                </div>
                            </Col>
                            <Col span={6} style={{ marginRight: "18px" }}>
                                <FormItem label={this.state.localeProvider && this.state.localeProvider.PatientRecordInformationPersonIdentification ? this.setMessage('PatientRecordInformationPersonIdentification', 'descripts') : '人员标识'} {...formItemLayoutInfo}>
                                    {getFieldDecorator('number', {
                                        initialValue: undefined,
                                        rules: [{ required: false, message: '' }]
                                    })(
                                        <Input
                                            allowClear
                                            placeholder={this.state.localeProvider && this.state.localeProvider.PatientRecordInformationPersonIdentification ? this.setMessage('PatientRecordInformationPersonIdentification', 'message') : '病人ID/姓名/身份证号码/手机号码'}
                                            onPressEnter={this.getPersonInfo}
                                            style={{ width: '100%' }}
                                        />
                                    )}
                                </FormItem>
                            </Col >
                            <Col span={6}>
                                <CardTypeRead getValue={this.getValue} getQuery={this.getPersonInfo} n={this.state.n} m={this.state.m} ></CardTypeRead>
                            </Col>
                            <Col span={4} style={{ padding: "0" }}>
                                <FormItem label={this.state.localeProvider && this.state.localeProvider.PatientRecordInformationVisitRecords ? this.setMessage('PatientRecordInformationVisitRecords', 'descripts') : '就诊记录'} {...formItemLayoutRec}>
                                    {getFieldDecorator('admID', {
                                        initialValue: undefined,
                                        rules: [{ required: true, message: '请选择就诊记录' }],
                                    })(
                                        <Select
                                            showSearch
                                            optionFilterProp="title"
                                            placeholder={this.state.localeProvider && this.state.localeProvider.PatientRecordInformationVisitRecords ? this.setMessage('PatientRecordInformationVisitRecords', 'message') : '请先检索患者信息'}
                                            style={{ width: '100%' }}
                                        >
                                            {recordOp}
                                        </Select>
                                    )}
                                </FormItem>
                            </Col>
                            <Col {...searchColConfig} style={{ padding: "0px 0px 0px 44px" }}>
                                <RangeDatePicker isChange={true} label={this.state.userData.language == 'EN' ? 'date：' : '日期：'} format='YYYY-MM-DD' width={328}
                                    startDate={this.state.startDate} endDate={this.state.endDate}
                                    startChange={this.startChange.bind(this)} endChange={this.endChange.bind(this)} />
                            </Col>
                            <Col span={2} style={{ paddingLeft: "20px" }}>
                                <FormItem  {...formItemLayout}>
                                    {getFieldDecorator('findData', {
                                        initialValue: undefined,
                                        rules: [{ required: false, message: '' }],
                                    })(
                                        <div style={{ display: "flex" }}>
                                            <Button style={{ marginRight: "18px" }} onClick={this.handleTableInfo} disabled={!this.props.form.getFieldValue('admID')} loading={searchLoading} type="primary">{this.state.localeProvider && this.state.localeProvider.PatientRecordInformationSearch ? this.setMessage('PatientRecordInformationSearch', 'descripts') : '查询'}</Button>
                                            <Button type="primary" disabled={!this.state.selectedRowKeys || this.state.selectedRowKeys.length == "0"} onClick={this.handleSendExpress}>{this.state.localeProvider && this.state.localeProvider.PatientRecordInformationSendExpress ? this.setMessage('PatientRecordInformationSendExpress', 'descripts') : '寄快递'}</Button>
                                        </div>

                                    )}
                                </FormItem>
                            </Col>
                        </Row>
                    </Form>
                    <SendExpress
                        newPresc={this.state.newPresc}
                        newCmpresc={this.state.newCmpresc}
                        newSpecNosc={this.state.newSpecNosc}
                        newCheckNos={this.state.newCheckNos}
                        titleData={this.state.titleData}
                        admID={this.props.form.getFieldValue('admID')}
                        handleTableInfo={this.handleTableInfo}
                        localeProvider={this.state.localeProvider}
                        onRef={this.onRef}
                    >
                    </SendExpress>
                    <div className="patientExpressDom">
                        <Drawer
                            title={this.state.localeProvider && this.state.localeProvider.PatientRecordInformationLogisticsInformation ? this.setMessage('PatientRecordInformationLogisticsInformation', 'descript') : '物流信息'}
                            placement="right"
                            closable={false}
                            onClose={this.onClose}
                            visible={this.state.visible}
                        >
                            <div>
                                <p>订单号：{expressNo}</p>
                                <Steps progressDot current={0} direction="vertical">
                                    {expressListOp}
                                </Steps>
                            </div>
                        </Drawer>
                    </div>
                    <Table
                        scroll={{ x: (columns && columns.length > 0 ? widthTotal : 4000), y: store.getState().tableHeight.y - 32 }}
                        columns={columns && columns.length > 0 ? columns : []}
                        dataSource={this.state.infoData}
                        pagination={false}
                        rowKey={record => record.key}
                        onRow={this.onClickRow}
                        rowClassName={this.setRowClassNames}
                        bordered
                        style={{ height: store.getState().tableHeight.y + 132 + 'px', marginTop: '9px', }}
                        rowSelection={rowSelection}
                    />
                    {/* <CommonPagination size={this.state.size} current={this.state.page} total={this.state.total} search={this.state.search}
                        onShowSizeChange={this.onShowSizeChange.bind(this)} complete={true} dataSource={this.state.infoData}
                        onChange={this.onChange.bind(this)} /> */}
                    <ColumnAuthoritysModel
                        clientWidth='800px'
                        compontName='PatientRecordInformation'
                        configType="C"
                        onRef={this.onColumnRef}
                        reloadData={this.getMainTableColumns}
                    />
                    <ExpressDeatil
                        onRefs={this.onRefs}
                        localeProvider={this.state.localeProvider}
                    >
                    </ExpressDeatil>
                </div>
            )
        }
    })
export default PatientRecordInformationQuery    